This invention relates generally to processing within a computing environment, and more particularly to reducing latency in shared caches.
In computers, a cache is a component that improves performance by transparently storing data such that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere (e.g. main memory). If requested data is contained in the cache (cache hit), this request can be served by simply reading the cache, which is comparably faster. Otherwise (cache miss), the data has to be recomputed or fetched from its original storage location, which is comparably slower.
Cache operations in a shared cache may be performed by accessing a shared pipeline. A pipeline may be considered as a set of data processing elements connected in series, so that the output of one element is the input of the next one. An instruction pipeline may be used in a computing device to increase instruction throughput (the number of instructions that can be executed in a unit of time). The fundamental idea is to split the processing of a computer instruction into a series of independent steps, with storage at the end of each step. This allows the computer's control circuitry to issue instructions at the processing rate of the slowest step, which is much faster than the time needed to perform all steps at once. The term pipeline refers to the fact that each step is carrying data at once (like water), and each step is connected to the next (like the links of a pipe.)
In shared cache pipelines, operations are typically comprised of a number of discreet yet dependent steps which each require a pass through the shared pipeline. The operation is complete when all required passes through the pipeline have completed. Since these passes are done serially, the total time to complete the operation is the sum of the time of each pipe pass. Reducing the time to complete any individual pipe pass would therefore reduce the overall time necessary to complete the operation.